package cn.com.connext.scrm.service.mapper;

import cn.com.connext.scrm.domain.master.Member;
import cn.com.connext.scrm.domain.master.OrderRecord;
import cn.com.connext.scrm.service.dto.JsonResult;
import cn.com.connext.scrm.web.rest.req.*;
import cn.com.connext.scrm.web.rest.resp.CouponQueryResp;
import org.apache.poi.ss.usermodel.Workbook;

import java.util.List;

public interface OrderService {
    JsonResult save(OrderReq req);

    JsonResult page(OrderQueryReq req);

    JsonResult detail(String req);

    JsonResult update(OrderUpdateReq req);

    JsonResult callBack(OrderCallBackReq req);

    Workbook exportOrderItemExcel(OrderQueryExcelReq req);

    JsonResult coupon(CouponQueryReq req);

    void updateCoupon(String req);

    List<OrderRecord> findOrderByUserId(String unionId);

    List<OrderRecord> findNoWechatOrderByUserId(String unionId);

    List<CouponQueryResp> solvedOrderRecord(List<OrderRecord> list);

    Member getMemberDetails(String membershipId);

    OrderRecord queryOrderDetails(String orderCode);

    void updateOrderDetails(OrderRecord object);

    JsonResult savePhysicalVoucher(OrderReq req);

    void updateOrderLogisState(OrderRecord orderRecord);

    List<OrderRecord> getOrderOneByCarRoll(String userId,String prizeGoodId);
    List<OrderRecord> getOrderOneByCarRollPrizeId(String userId,String prizeGoodId,Integer prizeId);

    JsonResult subStock(OrderReq req);

}
